package com.glorystone.ins.service;

import com.glorystone.ins.common.common.PageVo;
import com.glorystone.ins.domain.Attachment;
import com.glorystone.ins.domain.Channel;
import com.glorystone.ins.interceptor.PageList;
import com.glorystone.ins.vo.ChannelHandleVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * Created by wangwei on 2018/3/8.
 */
public interface ChannelService {


    PageList<Channel> findList(PageVo vo);

    List<Channel> findAll();

    /**
     * 查询所有渠道名称
     */
    List<Channel> findAllChannelName(String name);

    void update(Channel channel, MultipartFile businessLicenseFile, MultipartFile industryLicenseFile, MultipartFile[] legalPersonFile, MultipartFile[] seniorManagerFile, MultipartFile[] actualControllerFile,MultipartFile[] contactsFile, MultipartFile[] file, String[] alias);

    void updatePreChannel(Channel channel, MultipartFile businessLicenseFile, MultipartFile industryLicenseFile, MultipartFile[] legalPersonFile, MultipartFile[] seniorManagerFile, MultipartFile[] actualControllerFile,MultipartFile[] contactsFile, MultipartFile[] file, String[] alias);

    void saveChannel(Channel channel, MultipartFile businessLicenseFile, MultipartFile industryLicenseFile, MultipartFile[] legalPersonFile, MultipartFile[] seniorManagerFile, MultipartFile[] actualControllerFile, MultipartFile[] contactsFile,MultipartFile[] file, String[] alias);

    public Channel getById(Long tid);

    Channel findByUserId(Long userId);

    List<Attachment> selectFileInfoByTid(Long tid);

    void handle(ChannelHandleVO handleVO, MultipartFile businessLicenseFile, MultipartFile industryLicenseFile, MultipartFile[] legalPersonFile, MultipartFile[] seniorManagerFile, MultipartFile[] actualControllerFile, MultipartFile[] contractsFile);

    void updateToCreditOverdue(List<Long> ids);

    void deleteById(Long tid);
}
